#include <stdio.h>
#define LEN 2

struct Person{
  int id;
  char *name;
  char sex;
  char position;
  // 联合体变量，表示学生的成绩或教师的专业
  union{
    double score; // 保存学生的成绩
    char *major;  // 保存教师的专业
  }sc;   
}; 

int main(void){
  struct Person persons[LEN];
  // 录入信息
  for (int i = 0; i < LEN; i++){
    printf("请输入编号：");
    scanf("%d", &(persons[i].id));
    printf("请输入姓名：");
    scanf("%s",persons[i].name);
    printf("请输入性别(m|f)：");
    scanf("%c",&(persons[i].sex));
    printf("请输入职业(学生输s|教师输t)：");
    scanf("%c",&(persons[i].position));
    if(persons[i].position=='s'){
      printf("请输入学生成绩:");
      scanf("%lf",&(persons[i].sc.score));
    }else{
      printf("请输入教师专业:");
      scanf("%s",persons[i].sc.major);
    }
  }

  printf("编号 姓名 性别 职业 成绩|专业");
  for (int i = 0; i < LEN; i++){
    printf("%d %s %c %c",
      persons[i].id,persons[i].name,
      persons[i].sex,persons[i].position);
    
    if(persons[i].position=='s'){
      printf("%.2lf\n",persons[i].sc.score);
    }else{
      printf("%s\n",persons[i].sc.major);
    }
  }
  
  return 0;
}